/**
 * 
 */
package com.dj.dal;

import java.util.HashMap;
import java.util.Map;

import org.springframework.util.StringUtils;

import com.dj.domain.entity.DaiJiaUser;

/**
 * 用户帐户信息DAO
 * 
 * @author jasen.hsu.cn@gmail.com 2012-4-16 下午8:56:40
 */
public class UserDao extends BaseDao<DaiJiaUser> {

    public UserDao(){
        this.namespace = "dj.single.user";
    }

    /**
     * 修改用户密码
     * 
     * @param userId 用户ID
     * @param newPassword 新密码
     * @return
     */
    public boolean modifyPassword(String userId, String newPassword) {
        Map<String, Object> map = new HashMap<String, Object>();
        map.put("id", userId);
        map.put("password", newPassword);
        return sqlMapClientTemplate.update(namespace + "." + "modifyPassword", map) == 1;
    }

    /**
     * 根据登录帐号和帐号类型取得用户信息
     * 
     * @param loginId 登录ID
     * @param site 用户所属网站，默认为jobs
     * @return
     */
    public DaiJiaUser getByLoginIdAndSite(String loginId, String site) {
        // 登录帐号为空，默认为本站用户
        if (!StringUtils.hasText(site)) {
            site = DaiJiaUser.DEFAULT_USER_SITE;
        }
        Map<String, String> map = new HashMap<String, String>();
        map.put("loginId", loginId);
        map.put("site", site);
        return (DaiJiaUser) sqlMapClientTemplate.queryForObject(namespace + "." + "getByLoginIdAndSite", map);
    }

    /**
     * 根据登录帐号和帐号类型取得用户信息
     * 
     * @param loginId
     * @return
     */
    public DaiJiaUser getByMobileAndSite(String loginId) {
        Map<String, String> map = new HashMap<String, String>();
        map.put("loginId", loginId);
        return (DaiJiaUser) sqlMapClientTemplate.queryForObject(namespace + "." + "getByMobileAndSite", map);
    }

}
